package com.eureka.pay.configurer.webmvc;

import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.config.annotation.*;


/**
 * @Description: TODO webMvc配置
 * @Author: 李星 lixing_java@163.com
 * @Date: 2020/2/19 22:23
 */
@Component
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {

    /**
     * @Description TODO 视图控制器
     * @Author 李星
     * @Date 2020/2/19 22:26
     * @Param [registry]
     */
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        // 项目入口
        registry.addViewController("/").setViewName("index");
        // 后台访问403页面
        registry.addViewController("/403").setViewName("403");
        // 后台访问404页面
        registry.addViewController("/404").setViewName("404");
    }

    /**
     * @Description TODO  静态资源解析器
     * @Author 李星
     * @Date 2020/2/19 22:27
     * @Param [registry]
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 将所有/static/** 访问都映射到classpath:/static/目录下
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    }

//    /**
//     * @Description 跨域配置
//     * @Author lixing
//     * @Date 2021/7/8 8:30
//     * @Param [registry]
//     */
//    @Override
//    public void addCorsMappings(CorsRegistry registry) {
//        //设置允许跨域的路径
//        registry.addMapping("/**")
//                //设置允许跨域请求的域名 .allowedOrigins("*")
//                .allowedOriginPatterns("*")
//                //是否允许证书 不再默认开启
//                .allowCredentials(true)
//                //设置允许的方法
//                .allowedMethods("*")
//                // 设置允许的header属性
//                .allowedHeaders("*")
//                //跨域允许时间
//                .maxAge(3600);
//    }

//    /**
//     * @Description TODO  拦截器
//     * @Author 李星
//     * @Date 2020/2/19 22:27
//     * @Param [registry]
//     */
//    @Override
//    public void addInterceptors(InterceptorRegistry registry) {
//        // 系统模块拦截器
//        //registry.addInterceptor(new SysIntercept()).addPathPatterns("/**").excludePathPatterns("/","/sys/admin/login","/static/**","/index.html");
//        // 接口防刷拦截器
//        // registry.addInterceptor(new AccessLimitIntercept(redisTemplate)).addPathPatterns("/**").excludePathPatterns("/","/sys/admin/login","/static/**","/index.html");
//    }

//    /**
//     * @Description 参数解析器
//     * @Author 李星
//     * @Date 2020/2/20 13:34
//     * @Param [resolvers]
//     */
//    @Override
//    public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
//        // 登录用户对象的参数解析器
//        resolvers.add(new LoginUserInfoMethodArgumentResolver());
//    }

}
